To provide a scalable service or application of a domain name, multiple host servers stationed in different geographical regions are typically employed to serve client requests from different parts of the world. Client requests are usually initiated under a symbolic host name to a DNS (domain name system) server for returning one or more IP (internet protocol) addresses, each corresponding to an address at which one of the hosting servers can be reached. To implement the scalability of service, the DNS server may need to support some load sharing among the host servers.
For example, a DNS server can apply a simple round-robin algorithm to rotate the IP addresses in a list of responsive IP addresses, so as to distribute equally the requests for access among the host servers. However, the simple rotation may fail to take into considerations aspects associated with the client and server, such as the host servers' locations relative to the client.
Therefore, traditional global load balancing via domain name resolution may not be scalable for a large number of client devices and multiple attributes.